package com.example.limit.entity;

import java.time.LocalDateTime;
import java.util.List;

public class RuleGroup {
    private Long id;
    private String groupName;
    private String description;
    private Integer groupType; // 1:独立规则 2:组合规则
    private Integer logicType; // 1:AND 2:OR 3:复杂逻辑
    private String conditionExpression; // 条件表达式，支持自定义逻辑
    private Integer priority;
    private Integer status;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    
    // 非持久化字段
    private List<PurchaseRule> rules;

    // getters and setters
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getGroupName() { return groupName; }
    public void setGroupName(String groupName) { this.groupName = groupName; }
    public String getDescription() { return description; }
    public void setDescription(String description) { this.description = description; }
    public Integer getGroupType() { return groupType; }
    public void setGroupType(Integer groupType) { this.groupType = groupType; }
    public Integer getLogicType() { return logicType; }
    public void setLogicType(Integer logicType) { this.logicType = logicType; }
    public String getConditionExpression() { return conditionExpression; }
    public void setConditionExpression(String conditionExpression) { this.conditionExpression = conditionExpression; }
    public Integer getPriority() { return priority; }
    public void setPriority(Integer priority) { this.priority = priority; }
    public Integer getStatus() { return status; }
    public void setStatus(Integer status) { this.status = status; }
    public LocalDateTime getCreateTime() { return createTime; }
    public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; }
    public LocalDateTime getUpdateTime() { return updateTime; }
    public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; }
    public List<PurchaseRule> getRules() { return rules; }
    public void setRules(List<PurchaseRule> rules) { this.rules = rules; }
}